该内容已被发布者删除 该内容被自由微信恢复。
文章于 3月29日 下午 10:20 被检测为删除。
被用户删除
其他
解锁散点图新姿势:大括号加持,数据解读更给力!
准备
#安装R包
install.packages("ggbrace")
#加载R包
library(ggbrace)
library(ggplot2)
#加载数据,iris数据集是r自带的数据集
data(iris)
添加大括号
# 创建一个ggplot对象,并设置数据为iris数据集,aes函数用来映射变量到视觉对象
plt <- ggplot(iris, aes(x=Sepal.Length,
y=Sepal.Width,
color=Species,
label=Species)) +
# 添加散点图层
geom_point() +
# 设置颜色
scale_color_manual(values = c("setosa" = "red", "versicolor" = "blue", "virginica" = "green")) +
# 设置主题为经典主题
theme_classic() +
# 移除图例
theme(legend.position="none")
# 在plt对象上添加stat_brace()函数,用于添加括号标签
plt + stat_brace()
添加标签
# 在plt对象上继续添加图层
plt +
# 添加stat_brace()图层来绘制括号
stat_brace() +
# 添加stat_bracetext()图层来在括号内添加文本
stat_bracetext()
设置标签大小、角度和字体
# 在plt对象上继续添加图层
plt +
# 添加stat_brace()图层来绘制括号
stat_brace() +
# 添加stat_bracetext()图层来在括号内或附近添加文本
# 设置文本大小为4,角度为15度,字体为粗体
stat_bracetext(size=4, angle=15, fontface="bold")
旋转大括号
# 在plt对象上继续添加图层
plt +
# 添加stat_brace()图层来绘制括号,并将括号旋转90度
stat_brace(rotate = 90) +
# 添加stat_bracetext()图层来在括号内或附近添加文本,并将文本标签旋转90度
stat_bracetext(rotate = 90)
设置大括号位置
将括号设置在数据点的内部:
# 在plt对象上继续添加图层
plt +
# 添加stat_brace()图层来绘制括号,并将括号设置在数据点的内部
stat_brace(outside = FALSE)
将括号与其组中的最后一个数据点保持一个定义的距离:
plt + stat_brace(distance = 2) # 括号与其组中的最后一个数据点保持一个定义的距离
将所有括号都放在同一个位置:
plt + stat_brace(outerstart = 5) # 所有括号都放在同一个位置
将所有括号都设置为相同的宽度:
plt + stat_brace(outerstart = 5, width = 1) # 所有括号都有相同的宽度
将所有括号都设置为相同的曲率:
plt + stat_brace(outerstart = 5, width = 1, bending = 0.1) # 所有括号都有相同的曲率
在绘图区外添加大括号
plt +
stat_brace(outerstart = 4.5) + # 在plt对象上添加括号图层,并设置括号的起始x坐标为4.5
coord_cartesian(y = range(iris$Sepal.Width), clip = "off") + # 设置y轴的范围为iris数据集中Sepal.Width列的最小值和最大值,并关闭裁剪功能
theme(plot.margin = unit(c(0.25, 0.11, 0.11, 0.11), units = "npc")) # 设置图形的边距
欢迎加入
参考资料:https://github.com/NicolasH2/ggbrace